gl renderer: Fix rendering clipped blurred inset shadow nodes
authorTimm Bäder <mail@baedert.org>
Sat, 5 Dec 2020 17:19:16 +0000 (18:19 +0100)
committerTimm Bäder <mail@baedert.org>
Sun, 6 Dec 2020 18:18:10 +0000 (19:18 +0100)
gsk/gl/gskglrenderer.c

index 0149fa2598aa807839f0269adf3990aa5420cf64..60bda9ea6340ba874f7fcb98b5951ce8fe122825 100644 (file)
@@ -2154,7 +2154,14 @@ render_inset_shadow_node (GskGLRenderer   *self,
 
     if (needs_clip)
       {
-        const GskRoundedRect node_clip = transform_rect (self, builder, node_outline);
+        GskRoundedRect node_clip;
+
+        ops_transform_bounds_modelview (builder, &node_outline->bounds, &node_clip.bounds);
+        for (int i = 0; i < 4; i ++)
+          {
+            node_clip.corner[i].width = node_outline->corner[i].width * scale_x;
+            node_clip.corner[i].height = node_outline->corner[i].height * scale_y;
+          }
 
         ops_push_clip (builder, &node_clip);
       }